<?php
	try {
	    require_once '../../controller/controller.inc.php';
	    $usuario->isAuthorizedView(Operacao::MOVIMENTACAO_CARENCIA);
	    	    
	     //Paramentro id da carencia
	    $id = (isset($_GET["carenciaid"]))? $_GET["carenciaid"] : NULL;
	    $objeto = new Carencia($id);
	    
	    if ($objeto->carenciaid === NULL) {
            throw new Exception("Carência não encontrada.");
        }
	    
	    if (!FluxoCarencia::isAuthorized('aprovar', $objeto)) {
	        $usuario->redirectUnauthorized();
	    }
	    
	    //Objetos relacionados com a carencia
	    $cargo = $objeto->getCargo();
	    $lotacao = $objeto->getLotacao();
	    $histAtual = $objeto->getCarenciaHistoricoAtual();	    
	    $operador = $objeto->getOperador();	
		$status = ($histAtual !== NULL) ? $histAtual->getStatus() : NULL;     
		
		if (isset ($_POST["btnAcao"]))
	    {
	        $acao = $_POST["btnAcao"];
	        switch($acao)
	        {
	        	case 'Aprovar':
	        	    if ($pfcid == PerfilComportamental::Gabinete AND !isset($_POST["chkRegistro"])) {
	        	        throw new Exception("Nenhuma vaga foi selecionada.");
	        	    }
	        	    
	        	    $vagaid = ($pfcid == PerfilComportamental::Gabinete) ? $_POST['chkRegistro'] : NULL;
	        	    $parecer = $_POST['txtObservacao'];
	        	    
	        	    FluxoCarencia::aprovar($objeto, $parecer, $vagaid);
                    
	        	    header("location:analise.php?carenciaid=$id&message=alteracao");
    	    	break;	    		
	        }
	    }
	    
	    $listaVaga = listar($lotacao->lotacaoid,$cargo->cargoid);
	    $historico = new CarenciaHistorico();
		$listaHistorico = $historico->listar(array('where'=>'carenciaid='.$id,'orderBy'=>'dataregistro','order'=>'desc'));
	} 
	catch(exception $e){		
		$erro = $e->getMessage();		
	}	
	
	function listar($lotacaoid, $cargoid)
	{
		$view  = new ViewVagasCarencia();
		$criterio = array();
		$criterio['precondicao'] = "(lotacaoid = $lotacaoid or lotacaoid IS null) AND cargoid = $cargoid";
		return $view->listar($criterio);
	}
?>